package com.opal.jx.service;

import com.opal.domain.R;
import com.opal.jx.entity.JxAssessReception;
import com.opal.jx.entity.table.JxAssessPzcj;

import java.util.List;

public interface JxPZCJService {

    /**
     * 添加开料员考核数据---本方法是一次性添加本月份的所有开料员绩效考核的数据的
     * @param jxAssessPzcjReception
     */
    R addKaiLiaoYuanAssessDataService(JxAssessReception jxAssessPzcjReception);

    /**
     * 添加新开料员考核数据---本方法是一次性添加本月份的所有开料员绩效考核的数据的
     * @param jxAssessPzcjReception
     */
    R addNewKaiLiaoYuanAssessDataService(JxAssessReception jxAssessPzcjReception);

    /**
     * 添加管理人员（组长、主管）绩效考核数据---本方法是一次性添加本月份的所有管理人员的的绩效考核数据
     * @param jxAssessPzcjReception
     * @return
     */
    R addManagersAssessDataService(JxAssessReception jxAssessPzcjReception);

    /**
     * 添加辅助人员绩效考核数据 --本方法是一次性添加本月份的所有辅助人员的的绩效考核数据
     * @param jxAssessPzcjReception
     * @return
     */
    R addFuZhuRenYuanAssessDataService(JxAssessReception jxAssessPzcjReception);

    /**
     * 添加培训组长绩效考核数据 --本方法是一次性添加本月份的所有培训组长的的绩效考核数据
     * @param jxAssessPzcjReception
     * @return
     */
    R addPeiXunZuZhangAssessDataService(JxAssessReception jxAssessPzcjReception);

    /**
     * 添加称料房主管绩效考核数据 --本方法是一次性添加本月份的所有培训组长的的绩效考核数据
     * @param jxAssessPzcjReception
     * @return
     */
    R addChengLiaoAssessDataService(JxAssessReception jxAssessPzcjReception);

    /**
     * 根据id查询jx_assess_pzcj表
     * @param id
     * @return
     */
    JxAssessPzcj selectJxAssessPzcjById(String id);


    /**
     * 根据JxAssessPzcj条件查询绩效数据
     * @param condition
     * @return
     */
    List<JxAssessPzcj> selectJxAssessPzcjByCondition(JxAssessPzcj condition);


    /**
     * 添加绩效考核记录
     * @param jxAssessPzcj
     * @return
     */
    Integer addJxAssessPzcj(JxAssessPzcj jxAssessPzcj);

    /**
     * 根据条件删除绩效考核记录
     * @param condition
     * @return
     */
    Integer deleteJxAssessPzcjByCondition(JxAssessPzcj condition);

    /**
     * 根据条件修改绩效考核记录
     * @param jxAssessPzcj
     * @param condition
     * @return
     */
    Integer updateJxAssessPzcjByCondition(JxAssessPzcj jxAssessPzcj, JxAssessPzcj condition);

    /**
     * 根据年月份，或岗位查询数据
     * @param year
     * @param month
     * @param postName          岗位
     * @return
     */
    List<JxAssessPzcj> selectJxAssessPzcjByCondition(Integer year,Integer month,String ...postName);

}
